The invention concerns the management of data to be loaded in memory for optimising the storage possibilities. The data in question can be in particular of the code constituting a program of the “application” type, intended to be loaded in a memory of a communicating device, such as a programmable smart card or the like.
With the advent of programmable smart cards, it is possible to load service applications therein, that is to say executable software programs, coming from various sources. To this end, an open card comprises rewritable memory spaces for storing in an open-ended fashion one or more service applications according to its use, like a hard disk on a personal computer, as far as a processor able to execute such applications.
These service applications, also known by the English term “card applets”, are generally designed by service providers authorised by the smart card issuer, for example banking and health bodies, distributors and other service providers. They are in the form of complex programs, generally designed by means of high-level languages such as Java, C++ or Microsoft Windows Basic, so as to be transferred in a block into the card memory, either when it is manufactured (pre-issue loading) or subsequently during its use (post-issue loading).
Because the service applications come from a source external to the card manufacturer who is to include them, the latter does not have detailed knowledge of their code and cannot therefore establish suitable management for storing it.
In particular, the manufacturer cannot provide different management of the parts of the code of an application depending on whether they relate to personalisation, whose usefulness is only temporary, or other parts which can be used at any time.
It will be recalled that personalisation of an application is a series of operations performed at an initial stage which makes it possible to individualise it with respect to the holder of the card. The personalisation code contains various commands, referred to as “administrative”, for example for loading registers with identification and authorisation codes and other personal data, and for configuring the application according to choices or limits established according to the holder, etc.